Building Alloy Docs to PDF file
posted on 2023-06-12
Alloy docs recently got updated to Alloy 6 and cover temporal logic into model checking. This alone make it my go to toolkit for model verification.
I like to have documentation available offline and on my book reader – just to be able to have some quick reading done when waiting in the car or something. It allows me to redeem, in a sense, this time.
Alloy docs use Sphinx documentation framework which do include PDF exporting out of the box, but the default conf.py
of Alloy docs lacks one configuration parameter that would allow Sphinx to build PDF file.
So here are instructions to make it work:
- You need to have Sphinx and LaTeX installed.
- clone the Alloy docs source repository:
cd ~/Src/opensource git clone https://github.com/hwayne/alloydocs cd alloydocs
- then you need to add to
conf.py
above this line:
latex_elements = {
the following:
latex_engine = "xelatex" # solves problem of unicode characters
so it will look like this:
# -- Options for LaTeX output ------------------------------------------------ latex_engine = "xelatex" # solves problem of unicode characters latex_elements = { # The paper size ('letterpaper' or 'a4paper').
- then you can just execute
latexpdf
make target:
make latexpdf
Output file will be available at: _build/latex/AlloyDocumentation.pdf
I have contributed this small fix so hopefully anyone will be able to build a PDF file just by cloning the repository and executing latexpdf
make target.
edit: The pull request was merged the same day, you can skip the conf.py
modification step above.
Happy hacking!